Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

created first version of getShopfloorInformationAspect #235

Merged
merged 4 commits into from
Sep 25, 2023

Conversation

wehrstedt-jan
Copy link
Contributor

@wehrstedt-jan wehrstedt-jan commented Jul 7, 2023

Description

-->

Closes #229

use of header of #227 required

MS2 Criteria

(to be filled out by PR reviewer)

  • the model validates with the BAMM SDS SDK in the version specified in the Readme.md of this repository by the time of the MS2 check (e.g., 'java -jar bamm-cli.jar -i <path-to-aspect-model> -v ). The BAMM CLI is available here and in GitHub
  • use Camel-Case (e.g., "MyModelElement" or "TimeDifferenceGmtId", when in doubt follow https://google.github.io/styleguide/javaguide.html#s5.3-camel-case)
  • the identifiers for all model elements start with a capital letter except for properties
  • the identifier for properties starts with a small letter
  • all model elements at least contain the fields "preferred name" and "description" in English language. The description must be comprehensible. It is not required to write full sentences but style should be consistent over the whole model
  • Property and the referenced Characteristic should not have the same name
  • the versioning in the URN follows semantic versioning, where minor version bumps are backwards compatible and major version bumps are not backwards compatible.
  • use abbreviations only when necessary and if these are sufficiently common
  • avoid redundant prefixes in property names (consider adding properties to an enclosing Entity or even adapt the namespace of the model elements, e.g., instead of having two properties DismantlerId and DismantlerName use an Entity Dismantler with the properties name and id or use a URN like io.catenax.dismantler:0.0.1)
  • fields preferredName and description are not the same
  • preferredName should be human readable and follow normal orthography (e.g., no camel case but normal word separation)
  • name of aspect is singular except if it only has one property which is a Collection, List or Set. In theses cases, the aspect name is plural.
  • units are referenced from the BAMM unit catalog whenever possible
  • use constraints to make known constraints from the use case explicit in the aspect model
  • when relying on external standards, they are referenced through a "see" element
  • all properties with an simple type have an example value
  • metadata.json exists with status "release"
  • generated json schema validates against example json payload
  • file RELEASE_NOTES.md exists and contains entries for proposed model changes
  • all contributors to this model are mentioned in copyright header of model file

MS3 Criteria

(to be filled out by semantic modeling team before merge to main-branch)

  • All required reviewers have approved this PR (see reviewers section)
  • The new aspect (version) will be implemented by at least one data provider
  • The new aspect (version) will be consumed by at least one data consumer
  • There exists valid test data
  • In case of a new (incompatible) major version to an existing version, a migration strategy has been developed
  • The model has at least version '1.0.0'
  • The release date in the Release Note is set to the date of the MS3 approval

Copy link
Contributor

@bs-jokri bs-jokri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please check my comments

##########################################################################################
# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
# Copyright (c) 2023 Siemens AG
#
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add
// # Copyright (c) 2023 Contributors to the Eclipse Foundation

@@ -0,0 +1,53 @@
##########################################################################################
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unusual to have the datatypes separated in a different model. Should work but modelers are required to load both models into the editor, which might lead to confusion

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.mp_standard_unsubscribe:1.0.0#> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

namespace and folder must match, so namespace must be
io.catenax.mp_standard_request
or folder must be
io.catenax.mp_standard_unsubscribe


:timeUnit a samm:Property ;
samm:preferredName "timeUnit"@en ;
samm:description "specifies the unit in which the time es represented"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

start with uppercase

samm:characteristic :TimeUnitEnum ;
samm:exampleValue "Month" .

:TimeUnitEnum a samm-c:Enumeration ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not using the xsd timestamp as datatype or even consider using the pre-defined Timestamp characteristic and not redefining data structure.

@prefix ext-unsubscribe: <urn:samm:mp_standard_unsubscribe:1.0.0#> .

:GetShopfloorInformation a samm:Aspect ;
samm:preferredName "GetShopfloorInformation"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should follow normal orthography so no camel case but white spaces

##########################################################################################
# Copyright (c) 2023 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
# Copyright (c) 2023 Siemens AG
#
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also add Eclipse copyright entry

samm:events ( ) .

:synchronousRequest a samm:Property ;
samm:preferredName "synchronousRequest"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The preferred name is used to present the element to the user. So it should follow normal orthography. Usually the name is also a proper noun so write uppercase. Please check all elements, will not mark it again


:cxHeader a samm:Property ;
samm:preferredName "cxHeader"@en ;
samm:description "header that refers to the request of a customer"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

start uppercase in all descriptions

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_request/1.0.0/GetShopfloorInformation.ttl

Validation failed:

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_request/1.0.0/DataTypes.ttl

Validation failed:

samm:description "DataType for a synchronous Header"@en ;
samm:dataType :SynchronousHeaderEntity .

:CXHeaderCharacteristic a samm:Characteristic ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can import the characteristic directly or even the property, if it fits

@wehrstedt-jan wehrstedt-jan mentioned this pull request Jul 13, 2023
27 tasks
Copy link
Contributor

@bs-jokri bs-jokri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please check my comments

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0#> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs to reside in its own folder as the namespaces must correspond to the folder structure. Please check
https://github.com/eclipse-tractusx/sldt-semantic-models/tree/main/io.catenax.shared.physical_dimension
as an example

samm:events ( ) .

:communicationMode a samm:Property ;
samm:preferredName "communication Mode"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uppercase C in communication as the prefered name is usually used as proper noun
please also check all other preferredNames and adjust accordingly

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.shopfloor_information.get_production_forecast:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.messaging_header:1.0.0#> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you plan to use this model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

you need to adjust the namespace to
urn:samm:io.catenax.message_header:1.0.0#

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.shared.shopfloor_information_types:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.messaging_header:1.0.0#> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if you plan to use this model
https://github.com/eclipse-tractusx/sldt-semantic-models/pull/227/files

you need to adjust the namespace to
urn:samm:io.catenax.message_header:1.0.0#

samm:preferredName "TimeUnitEnum"@en ;
samm:description "Enumerates all possible time units"@en ;
samm:dataType xsd:string ;
samm-c:values ( "Month" "Day" "Week" "Hour" "Minute" "Second" ) .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

consider referencing UNECE units of the SAMM unit catalog by referencing them via xsd:curie
https://eclipse-esmf.github.io/samm-specification/2.0.0/appendix/unitcatalog.html

eg "unit:hour"^^xsd:curie

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_request/1.0.0/ShopfloorInformationTypes.ttl

Validation failed:

@github-actions
Copy link

Validation Report for io.catenax.mp_standard_request/1.0.0/GetProductionForecast.ttl

Validation failed:

GetProductionForecast after review
@github-actions
Copy link

Validation Report for io.catenax.shopfloor_information.get_production_forecast/1.0.0/GetProductionForecast.ttl

Validation failed:

@bs-jokri
Copy link
Contributor

bs-jokri commented Jul 14, 2023

@wehrstedt-jan what you could think about is to adjust the name to
io.catenax.shopfloor_information.production_forecast/10.0/ProductionForecast.ttl

As all other models are describing an object as such and not an action. This comment is not hindering ms2 but might be considered in the CTSM discussion for MS3 approval

If you adjust do so at the folder name, the namespace in the model file and the aspect name

Copy link
Contributor

@bs-jokri bs-jokri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor comments. Should be resolved prior release


:request a samm:Property ;
samm:preferredName "Request"@en ;
samm:description "Data model for a request"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure if there is a additional whitespace. If so remove.


:RequestCharacteristic a samm:Characteristic ;
samm:preferredName "Request Characteristic"@en ;
samm:description "DataType for a request"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Data type


:productionForecast4All a samm:Property ;
samm:preferredName "Production forecast for all"@en ;
samm:description "Boolean variable that detemines whether the customer request information about each position of an order, or information about the complete order"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

omit comma

samm:characteristic :TimeValueCharacteristic .

:TimeValueCharacteristic a samm:Characteristic ;
samm:preferredName "TimeValueCharacteristic"@en ;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no camel case normal orthography


All notable changes to this model will be documented in this file.

## [1.0.0]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add date of mS3 approval as soon as it is available

@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix : <urn:samm:io.catenax.shopfloor_information.get_production_forecast:1.0.0#> .
@prefix ext-header: <urn:samm:io.catenax.message_header:1.0.0#> .
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it could be that this model will be moved to the namespace
io.catenax.shared.message_header:1.0.0
adjust that, if this is the case

@bs-jokri
Copy link
Contributor

MS2 approval given with the condition that the model io.catenax.message_header:1.0.0 is released (otherwise model cannot validate)

@bs-jokri bs-jokri added the MS2_Approved Checklist "MS2 Valid Model" is approved. label Jul 14, 2023
@bosserf
Copy link

bosserf commented Jul 17, 2023

MS3 Criteria
(to be filled out by semantic modeling team before merge to main-branch)

All required reviewers have approved this PR (see reviewers section) -> OK
The new aspect (version) will be implemented by at least one data provider -> OK
The new aspect (version) will be consumed by at least one data consumer -> OK
There exists valid test data -> OK
In case of a new (incompatible) major version to an existing version, a migration strategy has been developed -> doesn't apply
The model has at least version '1.0.0' -> OK
The release date in the Release Note is set to the date of the MS3 approval -> has to be done

@bosserf
Copy link

bosserf commented Jul 17, 2023

MS3: approval given with the condition that the model io.catenax.message_header:1.0.0 is released (otherwise model cannot validate)
otherwise approved by group

@github-actions
Copy link

github-actions bot commented Aug 4, 2023

Validation Report for io.catenax.shopfloor_information.get_production_forecast/1.0.0/GetProductionForecast.ttl

Validation failed:

@bs-jokri bs-jokri added the MS3_Approved Checklist "MS3 Release Model" is approved. The associated pull request can be merged to the "main-br label Sep 4, 2023
@bs-jokri bs-jokri merged commit fd83b3f into eclipse-tractusx:main Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MS2_Approved Checklist "MS2 Valid Model" is approved. MS3_Approved Checklist "MS3 Release Model" is approved. The associated pull request can be merged to the "main-br
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[New Model]: ShopfloorInformationService: SISRequestOperations
4 participants